"""函数复习"""

num = 1
ls = []


def func1(s, n):
    global num
    num = n
    print(s * n)


func1("tian", 2)
print(num)
print("======")


def func2(s, n):
    """在函数体外部的引用类型变量的内容可以被改变"""
    ls.append(n)
    ls.append(n)
    print(s * n)


def func3(s, n):
    """如果在函数内部再次声明一个和外部变量同名的列表变量那么输出之后是空"""
    ls = []
    ls.append(n)
    ls.append(n)
    print(s * n)


func2("tian", 2)
print(ls)

func3("tian", 3)
print(ls)


def func4(x, y=1, *a):
    """函数的形参声明,位置参数，默认参数，可变参数"""
    return x + y + max(a)


sum1 = func4(1, 2, 3, 4, 6)
print(sum1)

# lambda函数
sum2 = (lambda x: x + x)(2)
print(sum2)

f = lambda x: x * x
print(f(4))
